package ig.metrica.ejb.conflujos;
import ig.da.abs.AbstractBasicDTO;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.sql.Date;

/**
 * 
 * @author usuario
 *
 * Is an Class for Configuracionflujos table
 *  $metadata.get($index).description
 */

public class ConfiguracionflujosDTO extends AbstractBasicDTO implements java.io.Serializable {


	// -----------------------------------------------------------------
	// Constants
	// -----------------------------------------------------------------

	// -----------------------------------------------------------------
	// Attributes
	// -----------------------------------------------------------------
      protected Integer idmodelo;
      protected Integer altura;
      protected Integer duracion;
      protected Integer procentaje;
      protected Integer valormora;
      protected Integer saldocapital;

      private Boolean valormoraB;
      private Boolean saldocapitalB;      
	// -----------------------------------------------------------------
	// Constructors
	// -----------------------------------------------------------------
       public ConfiguracionflujosDTO()
       {
       }

       public ConfiguracionflujosDTO(  Integer idmodelo, Integer altura, Integer duracion, Integer procentaje, Integer valormora, Integer saldocapital )
       {
          this.idmodelo = idmodelo;
          this.altura = altura;
          this.duracion = duracion;
          this.procentaje = procentaje;
          this.valormora = valormora;
          this.saldocapital = saldocapital;
          
          if(saldocapital.equals(1)){
              saldocapitalB=true;
              valormoraB =false;
          }        
          if(valormora.equals(1)){
              saldocapitalB=false;
              valormoraB =true;
          }           
       }

	// -----------------------------------------------------------------
	// Methods get/set
	// -----------------------------------------------------------------

      /**
       * Return value for Idmodelo
       *
       * $metadata.get($index).columsByIndex.get($indexColumn).description
       */
      public Integer getIdmodelo ()
      {
         return this.idmodelo;
      }

      /**
       * Set value for  Idmodelo
       *
       * $metadata.get($index).columsByIndex.get($indexColumn).description
       *
       */
      public void setIdmodelo ( Integer idmodelo )
      {
         this.idmodelo = idmodelo;
      }

      /**
       * Return value for Altura
       *
       * $metadata.get($index).columsByIndex.get($indexColumn).description
       */
      public Integer getAltura ()
      {
         return this.altura;
      }

      /**
       * Set value for  Altura
       *
       * $metadata.get($index).columsByIndex.get($indexColumn).description
       *
       */
      public void setAltura ( Integer altura )
      {
         this.altura = altura;
      }

      /**
       * Return value for Duracion
       *
       * $metadata.get($index).columsByIndex.get($indexColumn).description
       */
      public Integer getDuracion ()
      {
         return this.duracion;
      }

      /**
       * Set value for  Duracion
       *
       * $metadata.get($index).columsByIndex.get($indexColumn).description
       *
       */
      public void setDuracion ( Integer duracion )
      {
         this.duracion = duracion;
      }

      /**
       * Return value for Procentaje
       *
       * $metadata.get($index).columsByIndex.get($indexColumn).description
       */
      public Integer getProcentaje ()
      {
         return this.procentaje;
      }

      /**
       * Set value for  Procentaje
       *
       * $metadata.get($index).columsByIndex.get($indexColumn).description
       *
       */
      public void setProcentaje ( Integer procentaje )
      {
         this.procentaje = procentaje;
      }

      /**
       * Return value for Valormora
       *
       * $metadata.get($index).columsByIndex.get($indexColumn).description
       */
      public Integer getValormora ()
      {
         return this.valormora;
      }

      /**
       * Set value for  Valormora
       *
       * $metadata.get($index).columsByIndex.get($indexColumn).description
       *
       */
      public void setValormora ( Integer valormora )
      {
         this.valormora = valormora;
      }

      /**
       * Return value for Saldocapital
       *
       * $metadata.get($index).columsByIndex.get($indexColumn).description
       */
      public Integer getSaldocapital ()
      {
         return this.saldocapital;
      }

      /**
       * Set value for  Saldocapital
       *
       * $metadata.get($index).columsByIndex.get($indexColumn).description
       *
       */
      public void setSaldocapital ( Integer saldocapital )
      {
         this.saldocapital = saldocapital;
      }

      public void setValormoraB(Boolean valormoraB) {
          this.valormoraB = valormoraB;
      }

      public void setSaldocapitalB(Boolean saldocapitalB) {
          this.saldocapitalB = saldocapitalB;
      }

      public Boolean getValormoraB() {
          return valormoraB;
      }

      public Boolean getSaldocapitalB() {
          return saldocapitalB;
      }
      

	// -----------------------------------------------------------------
	// Method getPk
	// -----------------------------------------------------------------
    /**
     * El pk
     *
     */
     public ConfiguracionflujosPK getPk()
     {
        return new ConfiguracionflujosPK( idmodelo,altura,duracion );
     }

    /**
    *
    * The set Pk
    *
    */
     public void setPk(  ConfiguracionflujosPK dto) {

        this.idmodelo=dto.getIdmodelo();
        this.altura=dto.getAltura();
        this.duracion=dto.getDuracion();
        
     }




	// -----------------------------------------------------------------
	// Method copyFrom
	// -----------------------------------------------------------------
    /**
     * Cada uno de los atributos del objeto que llega lo copia en los atributos locales
     * @param o : el objeto fuente
     */
    public void copyFrom(Object o) {
        Object obj[] = new Object[0];
        Method methods[] = o.getClass().getMethods();
        for (int i = 0; i < methods.length; i++) {
            try {
                String methodName = methods[i].getName();
                if ((methodName.startsWith("get") || methodName.startsWith("is")) && Modifier.isPublic(methods[i].getModifiers()) && methods[i].getParameterTypes().length == 0 && !methodName.equals("getClass")) {
                    String setMethodName = methodName.replaceFirst(methodName.startsWith("get") ? "get" : "is", "set");
                    getClass().getMethod(setMethodName, new Class[]{
                                methods[i].getReturnType()
                            }).invoke(this, new Object[]{
                                methods[i].invoke(o, obj)
                            });
                }
            } catch (IllegalAccessException ilE) {
                ilE.printStackTrace();
            } catch (InvocationTargetException invE) {
                invE.printStackTrace();
            } catch (NoSuchMethodException noE) {
            }
        }
    }

	// -----------------------------------------------------------------
	// Method copyTo
	// -----------------------------------------------------------------
    /**
     * Cada uno de los atributos locales los copia en los atributos del objeto que llega
     * @param o: objeto 
     */
    public void copyTo(Object o) {
        Object obj[] = new Object[0];
        Method methods[] = o.getClass().getMethods();
        for (int i = 0; i < methods.length; i++) {
            try {
                String methodName = methods[i].getName();
                if ((methodName.startsWith("get") || methodName.startsWith("is")) && Modifier.isPublic(methods[i].getModifiers()) && methods[i].getParameterTypes().length == 0 && !methodName.equals("getClass")) {
                    String setMethodName = methodName.replaceFirst(methodName.startsWith("get") ? "get" : "is", "set");
                    o.getClass().getMethod(setMethodName, new Class[]{
                                methods[i].getReturnType()
                            }).invoke(o, new Object[]{
                                methods[i].invoke(this, obj)
                            });
                }
            } catch (IllegalAccessException ilE) {
                ilE.printStackTrace();
            } catch (InvocationTargetException invE) {
                invE.printStackTrace();
            } catch (NoSuchMethodException noE) {
            }
        }
    }
}
